2014年10月6日 星期一

ASP.NET MVC 使用 FullCalendar

好用的Calendar   FullCalendar


Model

public class CALENDAR
{
  public string title { get; set; }
  public string start { get; set; }
  public string end { get; set; }
  public string url { get; set; }
}

View

@{
    ViewBag.Title = "Calendar";
}

@section featured {

<link href="@Url.Content("~/Scripts/fullcalendar/lib/cupertino/jquery-ui.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Scripts/fullcalendar/fullcalendar.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Scripts/fullcalendar/lib/moment.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/fullcalendar/lib/jquery.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/fullcalendar/fullcalendar.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/fullcalendar/lang-all.js")"></script>

<style>
    body {
        margin: 40px 10px;
        padding: 0;
        font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
        font-size: 14px;
        overflow:scroll !important;
    }

    #calendar {
        max-width: 900px;
        margin: 0 auto;
    }
</style>

   <div id='calendar'></div>
<script>

    $(document).ready(function () {
        $('#calendar').fullCalendar({
            theme: true,
            lang: 'zh-tw',
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            editable: false,
            eventLimit: true, // allow "more" link when too many events
            events: {
                type: 'POST',
                url: '../api/TP1025CalendarGet/CalendarData',
                error: function () {
                    alert('資料存取失敗!');
                },
                success: function (response) {
 
                }
            }
        });

    });

</script>
}

Controller

public class TP1025CalendarController : Controller
{
  //
  // GET: /TP1025Calendar/
  public ActionResult Index()
  {
      return View();
  }
}

Web API

public class TP1025CalendarGetController : ApiControllerWebBase
{
    public List CalendarData(FormDataCollection form)
    {
        List calendar = new List();

        foreach (DataRow dr in response.ds.Tables[0].Rows)
        {
            calendar.Add(new CALENDAR { title = dr["title"].ToString(), start = dr["start"].ToString(), url = "" });
        }
        return calendar;
    }
}

2014年9月24日 星期三

DataTable to List to Json

DataTable to List

var r = Shared.Process(this.ws, "TraBULLETINGet", form);

List<Bulletin> bulletin = new List<Bulletin>();

foreach (DataRow dr in r.ds.Tables["T1"].Rows)
 {
   bulletin.Add(new Bulletin { TITLE = dr["TITLE"].ToString(), DES = dr["DES"].ToString(), CREATE_DATE = dr["CREATE_DATE"].ToString() });
 }

var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(bulletin);

public class Bulletin
 {
     public string TITLE { get; set; }
     public string DES { get; set; }
     public string CREATE_DATE { get; set; }
 }

.NET讀取csv檔

錯誤:不是一個有效的路徑。請確定路徑名稱是拼對的,而且檔案位於您所連接的伺服器上。

string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties='text'";
using (OleDbConnection conn = new OleDbConnection(strConn))
{
   DataTable dt = new DataTable();
   using (OleDbDataAdapter adapter = new OleDbDataAdapter(@"select  * from [aa.csv]", conn))
     {
       adapter.Fill(dt);
     }
}

2014年9月19日 星期五

Oracle 修改 SEQUENCE

修改INCREMENT(可以為負),再執行NEXTVAL

ALTER SEQUENCE seq INCREMENT BY 100;
SELECT seq.NEXTVAL FROM DUAL;

執行完記得改回1

ALTER SEQUENCE seq INCREMENT BY 1;

2014年9月15日 星期一

常用SQL,老是忘記...

SELECT SUM(A) AS A,SUM(B) AS B FROM (
SELECT 3 AS A,0 AS B
UNION ALL
SELECT 0 AS A,4 AS B
)A 

2014年9月14日 星期日

ASP.NET MVC Route Attribute


Route屬性

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace MvcMusicStore.Controllers
{
    public class DemoRouteController : ApiController
    {
        //GET: api/DemoRoute/5
        [Route("customers/{id}/orders")]
        [HttpGet]
        public string FindValue(int id)
        {
            return id.ToString();
        }
    }
}