コード例 #1
0
        public int PostBuy(LoadBuyRequest request)
        {
            try
            {
                request.UploadDate = DateTime.Today;
                //  Insertar client
                request.IdClient = _clientDataAccess.PostClient(request.NewClient);

                //  Insertar el tipo de order y setea el estado en 1 (pendiente)
                request.IdOrder = _orderDataAccess.PostOrder(request.IdTypeOrder);
                _orderDataAccess.PostOrderState(request.IdOrder);

                //  Inserta una compra y el detalle
                request.IdBuy = _buyDataAccess.PostBuy(request);
                _buyDataAccess.PostBuyDetail(request);

                //  Envia emails a cliente y farmacia
                _buyHelper.SendFirstEmails(request);

                //  Retorna 204: La peticion ha sido manejada con exito y la respuesta no tiene contenido
                return(request.IdOrder);
            }
            catch (Exception ex)
            {
                Console.WriteLine("BuyModel.PostBuy : ERROR : " + ex.Message);
                //  Error interno del servidor
                return(500);
            }
        }
コード例 #2
0
        public int PostBuy(LoadBuyRequest request)
        {
            int     idBuyResponse;
            decimal DecimalAmount = Convert.ToDecimal(request.TotalAmount);

            try
            {
                BuysEntity buysEntity = new BuysEntity()
                {
                    UploadDate  = request.UploadDate,
                    TotalAmount = DecimalAmount,
                    IdClient    = request.IdClient,
                    IdOrder     = request.IdOrder,
                    IdMeLi      = request.IdMeLi
                };
                context.BuysEntity.Add(buysEntity);
                context.SaveChanges();
                idBuyResponse = buysEntity.IdBuy;
            }
            catch (Exception ex)
            {
                Console.WriteLine("BuyDataAccess.PostBuy : ERROR : " + ex.Message);
                throw;
            }
            return(idBuyResponse);
        }
コード例 #3
0
        public async void SendFirstEmails(LoadBuyRequest request)
        {
            //  Valores del primer email al cliente
            var format          = _orderDataAccess.GetEmailFormat(1);
            var sendEmailClient = new SendEmailEntity()
            {
                Email     = request.NewClient.Email,
                NameEmail = request.NewClient.Name + request.NewClient.Surname,
                Subject   = "Orden de compra n° " + request.IdOrder,
                Body      = format
            };

            sendEmailClient.Body = sendEmailClient.Body.Replace("{OrderNumber}", request.IdOrder.ToString());
            sendEmailClient.Body = sendEmailClient.Body.Replace("{TotalAmount}", "$" + request.TotalAmount.ToString());
            await _mailer.SendEmailAsync(sendEmailClient);

            //  Valores del primer email a farma
            var sendEmailSale = new SendEmailEntity()
            {
                Email     = "*****@*****.**",
                NameEmail = "Venta",
                Subject   = "Orden de compra n° " + request.IdOrder,
                Body      = "Nueva Venta! " + "</br>" + "{Obj}"
            };
            string requestString = JsonSerializer.Serialize(request);

            sendEmailSale.Body = sendEmailSale.Body.Replace("{OrderNumber}", request.IdOrder.ToString());
            sendEmailSale.Body = sendEmailSale.Body.Replace("{Obj}", requestString);
            await _mailer.SendEmailAsync(sendEmailSale);
        }
コード例 #4
0
 public async void SendNextEmail(LoadBuyRequest request)
 {
     var sendEmailEntity = new SendEmailEntity()
     {
         Email     = request.NewClient.Email,
         NameEmail = request.NewClient.Name + request.NewClient.Surname,
         Subject   = "Orden de compra n°" + request.IdOrder,
         Body      = ""
     };
     await _mailer.SendEmailAsync(sendEmailEntity);
 }
コード例 #5
0
        public void ExportDate(LoadBuyRequest request)
        {
            MASFARMACIADEVContext context = new MASFARMACIADEVContext();
            var sendEmailSale             = new SendEmailEntity()
            {
                Email     = "*****@*****.**",
                NameEmail = "Venta",
                Subject   = "Orden de compra n° " + request.IdOrder,
                Body      = "Nueva Venta! /br {Obj}"
            };

            sendEmailSale.Body = sendEmailSale.Body.Replace("{OrderNumber}", request.IdOrder.ToString());
            sendEmailSale.Body = sendEmailSale.Body.Replace("{Obj}", request.ToString());
            _mailer.SendEmailAsync(sendEmailSale);
        }
コード例 #6
0
 public void PostBuyDetail(LoadBuyRequest request)
 {
     try
     {
         foreach (var obj in request.BuyDetail)
         {
             BuysDetailsEntity buysDetailsEntity = new BuysDetailsEntity()
             {
                 IdProduct = obj.IdProduct,
                 Quantity = obj.Quantity,
                 IdBuy = request.IdBuy
             };
             context.BuysDetailsEntity.Add(buysDetailsEntity);
             context.SaveChanges();      
         }          
     }
     catch (Exception ex)
     {
         Console.WriteLine("BuyDataAccess.PostBuyDetail : ERROR : "+ex.Message);
         throw;
     }
 }