Exemplo n.º 1
0
 void gaapTable_OnDeleteCommand(string id)
 {
     using (var da = new UstHesaplarTableAdapter())
     {
         try
         {
             int? error = null;
             da.DeleteQuery(id, ref error);
             if (error == -1)
             {
                 Master.ShowMessage("Ana hesaplar silinemez", PageMaster.MsgType.Error);
             }
         }
         catch (SqlException error)
         {
             if (error.Number == 547)
             {
                 Master.ShowMessage("Alt hesabı bulunan hasaplar silinemez", PageMaster.MsgType.Error);
             }
             else
             {
                 throw error;
             }
         }
     }
 }
Exemplo n.º 2
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            using (var da = new UstHesaplarTableAdapter())
            {
                var dt = da.GetData();
                var ds =
                    (from row in dt
                     select new Dictionary<string, object> {
                        {"Kod",row.Kod},
                        {"HesapAdi",row.HesapAdi},
                        {"Tipi",row.Tipi},
                        {"Borç",0},
                        {"Alacak",0},
                        {"Borç Bakiye",0},
                        {"Alacak Bakiye",0}
                    });
                if (IsPostBack)
                {
                    ds = ds.Where(row => accountType.Items.FindByValue(row["Tipi"].ToString()).Selected);
                }

                gaapTable.DataSource = ds.ToList();
                gaapTable.DataBind();
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     using (var da = new UstHesaplarTableAdapter())
     {
         var requestType = Request.Params["requestType"].ToString();
         if (requestType == "query")
         {
             var dt = da.GetData();
             //var tWriter = new StringWriter();
             var query = Request.Params["query"];
             var max = Request.Params["max"];
             var source = from row in dt
                          where row.Kod.StartsWith(query) || row.HesapAdi.ToLower().Contains(query.ToLower())
                          select new { row.Kod, row.HesapAdi, row.Tipi, row.UstKod };
             JSON = JsonConvert.SerializeObject(source); //TODO self reference loop oluştuğu için source kullanıldı, sil
             //jsSerializer.Serialize(tWriter, dt.Rows);
             //JSON = tWriter.GetStringBuilder().ToString();
         }
         else if (requestType == "nextChild")
         {
             var dt = da.GetData();
             var code = Request.Params["code"];
             var nextChild = "";
             var maxCodeVal = 0;
             var maxCode = "";
             foreach (var row in dt.Where(r => r.UstKod == code))
             {
                 var childCode = row.Kod.Split('.').Last();
                 var codeVal = Int32.Parse(childCode);
                 if (maxCodeVal < codeVal)
                 {
                     maxCodeVal = codeVal;
                     maxCode = childCode;
                 }
             }
             var mask = "";
             if (maxCodeVal > 0)
             {
                 mask = new String('0', maxCode.Length);
             }
             else
             {
                 if (code.Contains('.'))
                 {
                     mask = "000";
                 }
                 else
                 {
                     mask = "00";
                 }
             }
             nextChild = code + "." + (maxCodeVal + 1).ToString(mask);
             JSON = nextChild;
         }
     }
 }
Exemplo n.º 4
0
        void gaapTable_OnInsertCommand(Dictionary<string, object> row,bool repeat)
        {
            using (var da = new UstHesaplarTableAdapter())
            {
                int? error = null;
                try
                {
                    var parentCode = row["Kod"].ToString().Contains('.') ? row["Kod"].ToString().Substring(0, row["Kod"].ToString().LastIndexOf(".")) : null;

                    da.InsertQuery(
                        (string)row["Kod"],
                        parentCode,
                        (string)row["HesapAdi"],
                        (string)row["Tipi"],
                        ref error);
                    if (error == -1)
                    {
                        Master.ShowMessage(String.Format("Önce \"{0}\" nolu hesabın oluşturulması gerekli.", parentCode), PageMaster.MsgType.Error);
                    }
                    else if (error == -2)
                    {
                        Master.ShowMessage(String.Format("Alt olarak atanmış hesabın({0}) altına yeni hesap açılamaz.", parentCode), PageMaster.MsgType.Error);
                    }

                }
                catch (SqlException exception)
                {
                    if (exception.Number == 2627)
                    {
                        Master.ShowMessage(String.Format("Girdiğiniz hesap kodu({0}) hesap planında mevcut.", row["Kod"]), PageMaster.MsgType.Error);
                        error = exception.Number;
                    }
                    else
                    {
                        throw exception;
                    }
                }

                if (error.HasValue || repeat) //TODO use webcontrol inner logic for repeat
                {
                    gaapTable.RetryCommand = new WebControls.RetryCommand
                    {
                        CommandName = "insert",
                        BeforeID = Request.Params["editingRow_BeforeId"],
                        Row = row,
                        Repeat = repeat,
                        Empty = !error.HasValue
                    };
                }

            }
        }
Exemplo n.º 5
0
        void gaapTable_OnUpdateCommand(Dictionary<string, object> row)
        {
            using (var da = new UstHesaplarTableAdapter())
            {
                int? error = null;
                da.UpdateQuery(
                    row["Kod"].ToString(),
                    null,
                    row["HesapAdi"].ToString(),
                    row["Tipi"].ToString(),
                    ref error);
                if (error == -1)
                {
                    Master.ShowMessage("Alt hesabı bulunan hesaplar \"Alt\" olarak atanamaz.", PageMaster.MsgType.Error);
                }
                else if(error == -2)
                {
                    Master.ShowMessage("Altında Cari Kart bulunan hesaplar \"Alt\" olarak atanamaz.", PageMaster.MsgType.Error);

                }

                if (error.HasValue)
                {
                    gaapTable.RetryCommand = new WebControls.RetryCommand
                    {
                        CommandName = "update",
                        BeforeID = row["Kod"].ToString(),
                        Row = row
                    };
                }
            }
        }