示例#1
0
        public ResponseModel SavePackageAdvance(PackageAdvance model)
        {
            bool IsFindMatch  = false;
            var  existingList = GetPackageAdvanceList(100);
            PackageAdvanceViewModel matchPackage = new PackageAdvanceViewModel();
            var findMatch = existingList.Where(r => r.PackageId == model.PackageId && r.PeriodTypeId == model.PeriodTypeId && r.Id != model.Id).FirstOrDefault();

            if (findMatch != null)
            {
                matchPackage = findMatch;
                IsFindMatch  = true;
            }
            if (!IsFindMatch)
            {
                try
                {
                    if (model.Id == null)
                    {
                        model.CreatedDate = DateTime.Now;
                        model.Id          = Guid.NewGuid().ToString();
                        DbContext.PackageAdvance.Add(model);
                    }
                    else
                    {
                        var local = DbContext.Set <PackageAdvance>().Local.FirstOrDefault(c => c.Id == model.Id);
                        if (local != null)
                        {
                            DbContext.Entry(local).State = System.Data.Entity.EntityState.Detached;
                        }
                        var dbData = DbContext.PackageAdvance.Where(r => r.Id == model.Id).FirstOrDefault();
                        dbData.PackageId              = model.PackageId;
                        dbData.Amount                 = model.Amount;
                        dbData.UpdatedDate            = DateTime.Now;
                        DbContext.Entry(dbData).State = System.Data.Entity.EntityState.Modified;
                    }
                    DbContext.SaveChanges();
                    return(new ResponseModel {
                        Success = true, Message = "Success"
                    });
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(new ResponseModel {
                Success = false, Message = matchPackage.PackageName + " and period type " + matchPackage.PeriodType + " already saved."
            });
        }
示例#2
0
 public ResponseModel DeletePackageAdvance(PackageAdvance model)
 {
     try
     {
         var local = DbContext.Set <PackageAdvance>().Local.FirstOrDefault(c => c.Id == model.Id);
         if (local != null)
         {
             DbContext.Entry(local).State = System.Data.Entity.EntityState.Detached;
         }
         DbContext.Entry(model).State = System.Data.Entity.EntityState.Deleted;
         DbContext.SaveChanges();
     }
     catch (Exception ex)
     {
         return(new ResponseModel {
             Success = false, Message = "Package advance can not be delete. Package is using on transaction."
         });
     }
     return(new ResponseModel {
         Success = true, Message = "Success"
     });
 }
 public IHttpActionResult Delete([FromBody] PackageAdvance model)
 {
     return(Ok(_packageRepository.DeletePackageAdvance(model)));
 }