public bool UpdateAPIDelivery(Delivery modelData, FCMNotificationModel FCMModelData)
        {
            bool bSuccess = false;

            try
            {
                if (modelData.DeliveryId > 0)
                {
                    ProDelivery deliveryData = deliveryRepository.GetDelivery(modelData.DeliveryId);
                    deliveryData.ModifiedOn      = DateTime.Now;
                    deliveryData.ModifiedBy      = modelData.DriverId;
                    deliveryData.DeliveryStatus  = modelData.DeliveryStatus;
                    deliveryData.DeliveredTo     = modelData.DeliveredTo;
                    deliveryData.DeliveryRemarks = modelData.DeliveryRemarks;
                    bSuccess = deliveryRepository.SaveDelivery(deliveryData);
                    if (bSuccess)
                    {
                        ProOrder orderData = orderRepository.GetOrder(deliveryData.OrderId.Value);
                        orderData.ModifiedOn = DateTime.Now;
                        orderData.ModifiedBy = modelData.DriverId;
                        Model.Order orderModelData = new Model.Order();
                        int?        orderOldStatus = orderData.OrderStatus;
                        orderData.OrderStatus  = (int)GetOrderStatusForDeliveryStatus((DeliveryStatus)deliveryData.DeliveryStatus);
                        orderModelData.Remarks = $"Changed status to {GetOrderStatusForDeliveryStatus((DeliveryStatus)deliveryData.DeliveryStatus).ToString()}";
                        bSuccess = orderRepository.SaveOrder(orderData, orderModelData);
                    }
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex, ex.Message);
            }
            return(bSuccess);
        }
 public bool SaveDelivery(ProDelivery modelData)
 {
     if (modelData.DeliveryId == 0)
     {
         dbContext.ProDelivery.Add(modelData);
     }
     return(dbContext.SaveChanges() > 0);
 }
        public bool SaveDelivery(Delivery modelData, FCMNotificationModel FCMModelData)
        {
            bool bSuccess = false;

            try
            {
                ProDelivery deliveryData;
                if (modelData.DeliveryId > 0)
                {
                    deliveryData         = deliveryRepository.GetDelivery(modelData.DeliveryId);
                    modelData.ModifiedOn = DateTime.Now;
                    modelData.ModifiedBy = userService.GetLoggdInUser().UserId;
                }
                else
                {
                    deliveryData             = new ProDelivery();
                    modelData.CreatedOn      = DateTime.Now;
                    modelData.CreatedBy      = userService.GetLoggdInUser().UserId;
                    modelData.CompanyId      = userService.GetLoggdInUser().CompanyId;
                    modelData.BranchId       = userService.GetLoggdInUser().BranchId;;
                    modelData.DeliveryStatus = (int)DeliveryStatus.NotReady;
                }
                if (modelData.InputDeliveryDate.HasValue)
                {
                    modelData.DeliveryDate = modelData.InputDeliveryDate.Value;
                }
                deliveryData = MapperConfig.Mapper.Map <Delivery, ProDelivery>(modelData, deliveryData);
                bSuccess     = deliveryRepository.SaveDelivery(deliveryData);
                if (bSuccess)
                {
                    ProOrder orderData = orderRepository.GetOrder(modelData.OrderId);
                    orderData.ModifiedOn = DateTime.Now;
                    orderData.ModifiedBy = userService.GetLoggdInUser().UserId;
                    Model.Order orderModelData = new Model.Order();
                    int?        orderOldStatus = orderData.OrderStatus;
                    orderData.OrderStatus  = (int)GetOrderStatusForDeliveryStatus((DeliveryStatus)modelData.DeliveryStatus);
                    orderModelData.Remarks = $"Changed status to {GetOrderStatusForDeliveryStatus((DeliveryStatus)modelData.DeliveryStatus).ToString()}";
                    bSuccess = orderRepository.SaveOrder(orderData, orderModelData);
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex, ex.Message);
            }
            return(bSuccess);
        }
        public bool UpdateAPIDeliveryAcknowledgement(Delivery modelData)
        {
            bool bSuccess = false;

            try
            {
                if (modelData.DeliveryId > 0)
                {
                    ProDelivery deliveryData = deliveryRepository.GetDelivery(modelData.DeliveryId);
                    deliveryData.ModifiedOn    = DateTime.Now;
                    deliveryData.ModifiedBy    = modelData.DriverId;
                    deliveryData.BaseSignature = modelData.BaseSignature;
                    bSuccess = deliveryRepository.SaveDelivery(deliveryData);
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex, ex.Message);
            }
            return(bSuccess);
        }