示例#1
0
        private TblSalaryApprovalHeader UpdateOrInsertSalaryApprovalHeader(TblSalaryApprovalHeader newRow, int index, int userIserial, out int outindex, string company)
        {
            outindex = index;
            using (var context = new ccnewEntities(SharedOperation.GetSqlConnectionString(company)))
            {
                try
                {
                    var oldRow = context.TblSalaryApprovalHeaders.FirstOrDefault(th => th.Iserial == newRow.Iserial);
                    if (oldRow != null)// الهيدر موجود قبل كده
                    {
                        oldRow.StoreApproved = newRow.StoreApproved;
                        //foreach (var item in newRow.TblSalaryApprovalDetails.ToArray())
                        //{
                        //    // هشوف بقى الى اتعدل والجديد
                        //    int temp;
                        //    //headeriserial = item.TblSalaryApprovalHeader;
                        //    item.TblSalaryApprovalHeader1 = null;
                        //    item.TblSalaryApprovalHeader = newRow.Iserial;
                        //    UpdateOrInsertSalaryApprovalDetail(item, userIserial, 1, out temp,company);
                        //    item.TblSalaryApprovalHeader1Reference = null;
                        //}
                        //context.Entry(oldRow).CurrentValues.SetValues(newRow);
                    }
                    else// الهيدر ده جديد
                    {
                        context.TblSalaryApprovalHeaders.AddObject(newRow);
                    }
                    context.SaveChanges();
                }
                catch (Exception ex) { throw ex; }


                return(newRow);
            }
        }
示例#2
0
 private void ImportSalaryApproval(List <TblSalaryApprovalHeader> List, int userIserial, string company)
 {
     using (var context = new ccnewEntities(SharedOperation.GetSqlConnectionString(company)))
     {
         foreach (var item in List)
         {
             var store      = 0;
             var salarytype = 0;
             try
             {
                 store      = context.TblStores.FirstOrDefault(w => w.code == item.TblStore1.code).iserial;
                 salarytype = context.TblSalaryTypes.FirstOrDefault(w => w.EName == item.TblSalaryType1.EName).Iserial;
             }
             catch (Exception)
             {
                 continue;
             }
             item.TblStore1      = null;
             item.TblSalaryType1 = null;
             var headerRow = context.TblSalaryApprovalHeaders.FirstOrDefault(w => w.Code == item.Code && w.TblStore == store && w.Month == item.Month && w.Year == item.Year && w.TblSalaryType == salarytype);
             if (headerRow == null)
             {
                 var newHeader = new TblSalaryApprovalHeader()
                 {
                     Month         = item.Month,
                     TblSalaryType = salarytype,
                     TblStore      = store,
                     Year          = item.Year,
                     TblUser       = 0,
                     VotDate       = DateTime.Now,
                     CreationDate  = DateTime.Now,
                     HQApproved    = true,
                     StoreApproved = false,
                     Code          = item.Code,
                     DueDate       = item.DueDate
                 };
                 newHeader.TblSalaryApprovalDetails = new System.Data.Objects.DataClasses.EntityCollection <TblSalaryApprovalDetail>();
                 headerRow = newHeader;
             }
             foreach (var SalaryDetail in item.TblSalaryApprovalDetails)
             {
                 var empcode = SalaryDetail.TblEmployee.ToString();
                 try
                 {
                     var Employee  = context.TblEmployees.FirstOrDefault(e => e.code == empcode).iserial;
                     var newDetail = new TblSalaryApprovalDetail()
                     {
                         Approved     = false,
                         CreationDate = DateTime.Now,
                         Salary       = SalaryDetail.Salary,
                         TblEmployee  = Employee,
                     };
                     headerRow.TblSalaryApprovalDetails.Add(newDetail);
                 }
                 catch (Exception)
                 {
                     continue;
                 }
             }
             if (headerRow.Iserial == 0)
             {
                 context.TblSalaryApprovalHeaders.AddObject(headerRow);
             }
         }
         context.SaveChanges();
     }
 }