public void UpdateVLCPaymentDetailsForDockCollection(VLC vlc, DockMilkCollection dockMilkCollection) { var OldPaymentDetail = unitOfWork.VLCPaymentDetailRepository.GetVLCPaymentDetailByDockCollectionId(dockMilkCollection.DockMilkCollectionId); if (OldPaymentDetail != null) { decimal oldAmount = OldPaymentDetail.PaymentDrAmount.GetValueOrDefault(); OldPaymentDetail.PaymentDrAmount = dockMilkCollection.TotalAmount; OldPaymentDetail.PaymentDate = DateTimeHelper.GetISTDateTime(); unitOfWork.VLCPaymentDetailRepository.Update(OldPaymentDetail); UpdateVLCWalletForDockCollection(vlc.VLCId, dockMilkCollection.TotalAmount - oldAmount, false); } else { VLCPaymentDetail vLCPaymentDetail = new VLCPaymentDetail(); vLCPaymentDetail.VLCPaymentId = unitOfWork.DashboardRepository.NextNumberGenerator("VLCPaymentDetail"); vLCPaymentDetail.CreatedDate = vLCPaymentDetail.ModifiedDate = DateTimeHelper.GetISTDateTime(); vLCPaymentDetail.CreatedBy = vLCPaymentDetail.ModifiedBy = "Admin"; vLCPaymentDetail.VLCId = dockMilkCollection.VLCId; vLCPaymentDetail.DockMilkCollectionId = dockMilkCollection.DockMilkCollectionId; vLCPaymentDetail.IsDeleted = false; vLCPaymentDetail.PaymentComments = "Initial Dock Amount"; vLCPaymentDetail.PaymentDate = DateTimeHelper.GetISTDateTime(); vLCPaymentDetail.PaymentDrAmount = dockMilkCollection.TotalAmount; unitOfWork.VLCPaymentDetailRepository.Add(vLCPaymentDetail); UpdateVLCWalletForDockCollection(vlc.VLCId, dockMilkCollection.TotalAmount, false); } }
public void Update(DockMilkCollection dockMilkCollection) { if (dockMilkCollection != null) { _repository.Entry <Sql.DockMilkCollection>(dockMilkCollection).State = System.Data.Entity.EntityState.Modified; // _repository.SaveChanges(); } }
public void Add(DockMilkCollection dockMilkCollection) { if (dockMilkCollection != null) { _repository.DockMilkCollections.Add(dockMilkCollection); // _repository.SaveChanges(); } }
public static void ConvertToDockMilkCollectionEntity(ref DockMilkCollection DockMilkCollection, DockMilkCollectionDTO DockMilkCollectionDTO, bool isUpdate) { if (isUpdate) { DockMilkCollection.DockMilkCollectionId = DockMilkCollectionDTO.DockMilkCollectionId; } DockMilkCollection.VLCId = DockMilkCollectionDTO.VLCId; if (DockMilkCollectionDTO.ShiftId > 0) { DockMilkCollection.ShiftId = (int)DockMilkCollectionDTO.ShiftId; } if (string.IsNullOrWhiteSpace(DockMilkCollectionDTO.Comments) == false) { DockMilkCollection.Comments = DockMilkCollectionDTO.Comments; } if (string.IsNullOrWhiteSpace(DockMilkCollectionDTO.ReceiverName) == false) { DockMilkCollection.ReceiverName = DockMilkCollectionDTO.ReceiverName; } }
public static DockMilkCollectionDTO ConvertToDockMilkCollectionDto(DockMilkCollection dockMilkCollection) { DockMilkCollectionDTO dockMilkCollectionDTO = new DockMilkCollectionDTO(); dockMilkCollectionDTO.DockMilkCollectionId = dockMilkCollection.DockMilkCollectionId; dockMilkCollectionDTO.VLCId = dockMilkCollection.VLCId; dockMilkCollectionDTO.VLCName = dockMilkCollection.VLC != null ? dockMilkCollection.VLC.VLCName : string.Empty; dockMilkCollectionDTO.CollectionDateTime = dockMilkCollection.CollectionDateTime; dockMilkCollectionDTO.TotalQuantity = dockMilkCollection.TotalQuantity; dockMilkCollectionDTO.ShiftId = (ShiftEnum)dockMilkCollection.ShiftId; dockMilkCollectionDTO.CollectionShift = dockMilkCollectionDTO.ShiftId.ToString(); dockMilkCollectionDTO.ReceiverName = dockMilkCollection.ReceiverName; dockMilkCollectionDTO.RejectedQuantity = dockMilkCollection.RejectedQuantity; dockMilkCollectionDTO.TotalCan = dockMilkCollection.TotalCan.HasValue ? dockMilkCollection.TotalCan.Value : 0; dockMilkCollectionDTO.TotalRejectedCan = dockMilkCollection.TotalRejectedCan; dockMilkCollectionDTO.Amount = dockMilkCollection.Amount; dockMilkCollectionDTO.Commission = dockMilkCollection.Commission; dockMilkCollectionDTO.TotalAmount = dockMilkCollection.TotalAmount; dockMilkCollectionDTO.CreatedBy = dockMilkCollection.CreatedBy; dockMilkCollectionDTO.CreatedDate = dockMilkCollection.CreatedDate; dockMilkCollectionDTO.Comments = dockMilkCollection.Comments; dockMilkCollectionDTO.IsDeleted = dockMilkCollection.IsDeleted.GetValueOrDefault(); dockMilkCollectionDTO.ModifiedBy = dockMilkCollection.ModifiedBy; dockMilkCollectionDTO.ModifiedDate = dockMilkCollection.ModifiedDate.GetValueOrDefault(); dockMilkCollectionDTO.BillNumber = dockMilkCollection.BillNumber; if (dockMilkCollection.DockMilkCollectionDtls != null && dockMilkCollection.DockMilkCollectionDtls.Count() > 0) { dockMilkCollectionDTO.dockMilkCollectionList = new List <DockMilkCollectionDtlDTO>(); foreach (DockMilkCollectionDtl dockMilkCollectionDtl in dockMilkCollection.DockMilkCollectionDtls) { dockMilkCollectionDTO.dockMilkCollectionList.Add(ConvertToDockMilkCollectionDtlDTO(dockMilkCollectionDtl)); } } return(dockMilkCollectionDTO); }
public ResponseDTO AddDockMilkCollection(DockMilkCollectionDTO dockMilkCollectionDTO) { var vlc = unitOfWork.VLCRepository.GetById(dockMilkCollectionDTO.VLCId); if (vlc != null) { ResponseDTO responseDTO = new ResponseDTO(); decimal milkCommission = GetCommissionForDockMilkCollection(vlc); DockMilkCollection dockMilkCollection = new DockMilkCollection(); dockMilkCollection.DockMilkCollectionId = unitOfWork.DashboardRepository.NextNumberGenerator("DockMilkCollection"); if (dockMilkCollectionDTO.CollectionDateTime != DateTime.MinValue) { dockMilkCollection.CollectionDateTime = dockMilkCollectionDTO.CollectionDateTime; } else { dockMilkCollection.CollectionDateTime = DateTimeHelper.GetISTDateTime(); } dockMilkCollection.CreatedDate = DateTimeHelper.GetISTDateTime(); dockMilkCollection.ModifiedDate = DateTimeHelper.GetISTDateTime(); dockMilkCollection.CreatedBy = dockMilkCollectionDTO.ModifiedBy = "Admin"; dockMilkCollection.IsDeleted = false; DockMilkCollectionConvertor.ConvertToDockMilkCollectionEntity(ref dockMilkCollection, dockMilkCollectionDTO, false); if (dockMilkCollectionDTO.dockMilkCollectionList != null) { foreach (var dockMilkCollectionDtlDto in dockMilkCollectionDTO.dockMilkCollectionList) { if (dockMilkCollectionDtlDto.Quantity > 0 && dockMilkCollectionDtlDto.ProductId > 0) { this.CheckForExistingCollectionDetailByDateShiftProduct(dockMilkCollection.CollectionDateTime.Date, dockMilkCollection.ShiftId, (int)dockMilkCollectionDtlDto.ProductId, dockMilkCollection.VLCId); DockMilkCollectionDtl dockMilkCollectionDtl = new DockMilkCollectionDtl(); dockMilkCollectionDtl.DockMilkCollectionDtlI = unitOfWork.DashboardRepository.NextNumberGenerator("DockMilkCollectionDtl"); dockMilkCollectionDtl.DockMilkCollectionId = dockMilkCollection.DockMilkCollectionId; DockMilkCollectionConvertor.ConvertToDockMilkCollectionDtlEntity(ref dockMilkCollectionDtl, dockMilkCollectionDtlDto, false); dockMilkCollectionDtl.RatePerUnit = unitOfWork.MilkRateRepository.GetMilkRateByApplicableRate(vlc.ApplicableRate, dockMilkCollectionDtlDto.FAT.GetValueOrDefault(), dockMilkCollectionDtlDto.CLR.GetValueOrDefault()); dockMilkCollectionDtlDto.Amount = dockMilkCollectionDtl.Amount = dockMilkCollectionDtl.RatePerUnit.GetValueOrDefault() * dockMilkCollectionDtlDto.Quantity; dockMilkCollectionDtlDto.Commission = dockMilkCollectionDtl.Commission = dockMilkCollectionDtlDto.Quantity * milkCommission; dockMilkCollectionDtlDto.TotalAmount = dockMilkCollectionDtl.TotalAmount = dockMilkCollectionDtl.Commission.GetValueOrDefault() + dockMilkCollectionDtl.Amount; unitOfWork.DockMilkCollectionDtlRepository.Add(dockMilkCollectionDtl); } } dockMilkCollection.TotalCan = dockMilkCollectionDTO.dockMilkCollectionList.Sum(s => s.TotalCan); dockMilkCollection.TotalRejectedCan = dockMilkCollectionDTO.dockMilkCollectionList.Sum(s => s.TotalRejectedCan); dockMilkCollection.Amount = dockMilkCollectionDTO.dockMilkCollectionList.Sum(s => s.Amount); dockMilkCollection.TotalQuantity = dockMilkCollectionDTO.dockMilkCollectionList.Sum(s => s.Quantity); dockMilkCollection.Commission = dockMilkCollectionDTO.dockMilkCollectionList.Sum(s => s.Commission).GetValueOrDefault(); dockMilkCollection.TotalAmount = dockMilkCollectionDTO.dockMilkCollectionList.Sum(s => s.TotalAmount).GetValueOrDefault(); dockMilkCollection.RejectedQuantity = dockMilkCollectionDTO.dockMilkCollectionList.Sum(s => s.RejectedQuantity); } else { throw new PlatformModuleException("Dock Milk Collection Detail Not Found"); } unitOfWork.DockMilkCollectionRepository.Add(dockMilkCollection); UpdateVLCPaymentDetailsForDockCollection(vlc, dockMilkCollection); string dockMessage = string.Format(NatrajConfigurationHelper.DockCollectionMessage, dockMilkCollection.CollectionDateTime.Date, dockMilkCollection.TotalQuantity, dockMilkCollection.TotalAmount); var natrajSMSLog = this.SendSMS(vlc.Contact, dockMessage); unitOfWork.SMSRepository.Add(natrajSMSLog); unitOfWork.SaveChanges(); new SMSService().SendEmailInBackgroundThread(natrajSMSLog); unitOfWork.SaveChanges(); responseDTO.Status = true; responseDTO.Message = String.Format("Dock Milk Collection Detail Added Successfully "); responseDTO.Data = this.GetDockCollectionByDateAndShift(DateTimeHelper.GetISTDateTime().Date, dockMilkCollection.ShiftId, 1); return(responseDTO); } else { throw new PlatformModuleException("VLC Collection Details Not Found"); } }