コード例 #1
0
 public HttpResponseMessage Put(int id, [FromBody] Customer customer)
 {
     try
     {
         using (CustomerDBEntities entity = new CustomerDBEntities())
         {
             var cust = entity.Customers.FirstOrDefault(x => x.ID == id);
             if (cust != null)
             {
                 cust.FirstName = customer.FirstName;
                 cust.LastName  = customer.LastName;
                 cust.Email     = customer.Email;
                 cust.Mobile    = customer.Mobile;
                 cust.Address   = customer.Address;
                 entity.SaveChanges();
                 return(Request.CreateResponse(HttpStatusCode.OK, cust.ToString()));
             }
             else
             {
                 return(Request.CreateErrorResponse(HttpStatusCode.NotFound, id.ToString() + "Not found!"));
             }
         }
     }catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
コード例 #2
0
        public ResponseModel BackupCustomerOrderData()
        {
            ResponseModel res = new ResponseModel();

            try
            {
                using (CustomerDBEntities db = new CustomerDBEntities())
                {
                    List <CustomerOrder> lstCustomerOrders = db.CustomerOrders.Where(x => x.IsAddedToBkpTbl != true).ToList();

                    foreach (var order in lstCustomerOrders)
                    {
                        BkpCustomerOrder customerOrder = new BkpCustomerOrder();
                        customerOrder.BkpID          = Guid.NewGuid();
                        customerOrder.order_number   = order.order_number;
                        customerOrder.qty            = order.qty;
                        customerOrder.user_id        = order.user_id;
                        customerOrder.FileUploadedId = order.FileUploadedId;
                        customerOrder.BkpDate        = DateTime.Now;
                        db.BkpCustomerOrders.Add(customerOrder);
                        db.SaveChanges();

                        order.IsAddedToBkpTbl = true;
                        db.SaveChanges();
                    }
                }
                res.status = true;
            }
            catch (Exception ex)
            {
                res.message = ex.Message;
                res.data    = ex.InnerException;
            }
            return(res);
        }
コード例 #3
0
 public static bool Login(string username, string password)
 {
     using (CustomerDBEntities entites = new CustomerDBEntities())
     {
         return(entites.Users.Any(user => user.Username.Equals(username, StringComparison.OrdinalIgnoreCase) && user.Password == password));
     }
 }
コード例 #4
0
 public HttpResponseMessage Get()
 {
     using (CustomerDBEntities entites = new CustomerDBEntities())
     {
         return(Request.CreateResponse(HttpStatusCode.OK, entites.Customers.ToList()));// entites.Customers.ToList();
     }
 }
コード例 #5
0
        public static IEnumerable<Customer> GetCustomers()
        {
            var myDb = new CustomerDBEntities();

            var query = from cust in myDb.Customers
                        select cust;

            return query.ToList();
        }
コード例 #6
0
        public ResponseModel UpsertOrderData()
        {
            ResponseModel res = new ResponseModel();

            try
            {
                //BackUp Customer Order Data to Backup Table in Database
                res = BackupCustomerOrderData();
                if (res.status)
                {
                    //Upsert Customer Order Data
                    using (CustomerDBEntities db = new CustomerDBEntities())
                    {
                        List <TempCustomerOrder> lstTmpCustomerOrders = db.TempCustomerOrders.Where(x => x.IsAddedToMainTbl != true).ToList();

                        foreach (var tmpOrder in lstTmpCustomerOrders)
                        {
                            CustomerOrder customerOrder = db.CustomerOrders.Where(x => x.user_id == tmpOrder.user_id && x.order_number == tmpOrder.order_number).FirstOrDefault();

                            if (customerOrder != null)
                            {
                                customerOrder.qty             = tmpOrder.qty;
                                customerOrder.FileUploadedId  = tmpOrder.FileUploadedId;
                                customerOrder.UpdatedDate     = DateTime.Now;
                                customerOrder.IsAddedToBkpTbl = false;
                                db.SaveChanges();
                            }
                            else
                            {
                                customerOrder                 = new CustomerOrder();
                                customerOrder.ID              = Guid.NewGuid();
                                customerOrder.order_number    = tmpOrder.order_number;
                                customerOrder.qty             = tmpOrder.qty;
                                customerOrder.user_id         = tmpOrder.user_id;
                                customerOrder.FileUploadedId  = tmpOrder.FileUploadedId;
                                customerOrder.CreatedDate     = DateTime.Now;
                                customerOrder.IsAddedToBkpTbl = false;
                                db.CustomerOrders.Add(customerOrder);
                                db.SaveChanges();
                            }
                            tmpOrder.IsAddedToMainTbl = true;
                            db.SaveChanges();
                        }
                    }
                    res.status = true;
                }
            }
            catch (Exception ex)
            {
                res.message = ex.Message;
                res.data    = ex.InnerException;
            }
            return(res);
        }
コード例 #7
0
 public HttpResponseMessage Post([FromBody] Customer customer)
 {
     try
     {
         using (CustomerDBEntities entity = new CustomerDBEntities())
         {
             entity.Customers.Add(customer);
             entity.SaveChanges();
             var message = Request.CreateResponse(HttpStatusCode.Created, customer);
             return(message);
         }
     } catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
コード例 #8
0
        public CustomerDTO GetCustomer(CustomerRequestDTO inputParam)
        {
            CustomerDBEntities db       = new CustomerDBEntities();
            CustomerDTO        customer = null;

            #region AutoMapper intialization
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Customer, CustomerDTO>();
                cfg.CreateMap <Transaction, TransactionDTO>()
                .ForMember(vm => vm.Id, m => m.MapFrom(u => u.TransactionId))
                .ForMember(vm => vm.Date, m => m.MapFrom(u => u.TransactionDate.ToString("g", DateTimeFormatInfo.InvariantInfo)));
            });
            IMapper mapper = config.CreateMapper();
            #endregion

            #region Search Criteria
            if (inputParam.CustomerId > 0 && inputParam.Email != null && inputParam.Email.Length > 0)
            {
                var dbResult = db.Customers.Where(x => x.CustomerId == inputParam.CustomerId &&
                                                  x.Email == inputParam.Email).FirstOrDefault();
                if (dbResult != null)
                {
                    customer = mapper.Map <Customer, CustomerDTO>(dbResult);
                }
            }
            else if (inputParam.Email != null && inputParam.Email.Length > 0)
            {
                var dbResult = db.Customers.Where(x => x.Email == inputParam.Email).FirstOrDefault();
                if (dbResult != null)
                {
                    customer = mapper.Map <Customer, CustomerDTO>(dbResult);
                }
            }
            else if (inputParam.CustomerId > 0)
            {
                var dbResult = db.Customers.Where(x => x.CustomerId == inputParam.CustomerId).FirstOrDefault();
                if (dbResult != null)
                {
                    customer = mapper.Map <Customer, CustomerDTO>(dbResult);
                }
            }
            #endregion

            return(customer);
        }
コード例 #9
0
 public HttpResponseMessage Get(int id)
 {
     try
     {
         using (CustomerDBEntities ctx = new CustomerDBEntities())
         {
             var customer = ctx.Customers.FirstOrDefault(x => x.ID == id);
             if (customer != null)
             {
                 return(Request.CreateResponse(HttpStatusCode.OK, customer));
             }
             else
             {
                 return(Request.CreateResponse(HttpStatusCode.NotFound, " Customer not found for -" + id.ToString()));
             }
         }
     }catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.BadRequest, ex));
     }
 }
コード例 #10
0
 public HttpResponseMessage Delete(int id)
 {
     try
     {
         using (CustomerDBEntities entity = new CustomerDBEntities())
         {
             var deletedCustomer = entity.Customers.Remove(entity.Customers.FirstOrDefault(x => x.ID == id));
             if (deletedCustomer == null)
             {
                 return(Request.CreateResponse(HttpStatusCode.NotFound, "Delete for id" + id.ToString() + "unsuccessfull"));
             }
             else
             {
                 entity.SaveChanges();
                 return(Request.CreateResponse(HttpStatusCode.OK, deletedCustomer));
             }
         }
     }catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
コード例 #11
0
        public HttpResponseMessage Get()
        {
            try
            {
                string username = Thread.CurrentPrincipal.Identity.Name;
                using (CustomerDBEntities ctx = new CustomerDBEntities())
                {
                    switch (username.ToLower())
                    {
                    case "male":
                        return(Request.CreateResponse(HttpStatusCode.OK, ctx.Users.Where(x => x.Username == "male").ToList()));

                    case "female":
                        return(Request.CreateResponse(HttpStatusCode.OK, ctx.Users.Where(x => x.Username == "female").ToList()));

                    default:
                        return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Please provide correct credentials"));
                    }
                }
            }catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
コード例 #12
0
 public CustomerInformationController()
 {
     _context = new EFModel.CustomerDBEntities();
 }
コード例 #13
0
 public CustomerInformationController()
 {
     _dbContext = new CustomerDBEntities();
 }
コード例 #14
0
 public CustomerInformationController()
 {
     _context = new EFModel.CustomerDBEntities();
     _context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
 }
コード例 #15
0
        public List <CustomerOrder> GetAllCustomerOrders()
        {
            CustomerDBEntities db = new CustomerDBEntities();

            return(db.CustomerOrders.ToList());
        }
コード例 #16
0
 public static void InsertCustomer(Customer cust)
 {
     var myDb = new CustomerDBEntities();
     myDb.Customers.Add(cust);
     myDb.SaveChanges();
 }
コード例 #17
0
        public ResponseModel UploadCustomerOrder(System.Web.HttpRequest httpRequest, string rootPath)
        {
            ResponseModel res = new ResponseModel();

            try
            {
                if (httpRequest.Files.Count > 0)
                {
                    foreach (string file in httpRequest.Files)
                    {
                        HttpPostedFile fileUploaded = httpRequest.Files[file];
                        string         fileName     = UtilityHelper.SaveUploadedFile(fileUploaded, rootPath);
                        string         filePath     = Path.Combine(rootPath, fileName);
                        if (fileName != "")
                        {
                            using (var reader = new StreamReader(filePath))
                                using (var csv = new CsvReader(reader))
                                {
                                    int rowCnt = 0;
                                    var record = new CustomerOrderModel();

                                    var records = csv.EnumerateRecords(record);

                                    using (CustomerDBEntities db = new CustomerDBEntities())
                                    {
                                        FileStorageInfo fileInfo = new FileStorageInfo();
                                        fileInfo.FileUploadId     = Guid.NewGuid();
                                        fileInfo.OriginalFileName = fileUploaded.FileName;
                                        fileInfo.StoredFileName   = fileName;
                                        fileInfo.CreatedDate      = DateTime.Now;
                                        db.FileStorageInfoes.Add(fileInfo);
                                        db.SaveChanges();

                                        foreach (var r in records)
                                        {
                                            TempCustomerOrder tmpOrder = new TempCustomerOrder();
                                            tmpOrder.ID               = Guid.NewGuid();
                                            tmpOrder.order_number     = r.order_number;
                                            tmpOrder.qty              = r.qty;
                                            tmpOrder.user_id          = r.user_id;
                                            tmpOrder.FileUploadedId   = fileInfo.FileUploadId;
                                            tmpOrder.CreatedDate      = DateTime.Now;
                                            tmpOrder.IsAddedToMainTbl = false;
                                            db.TempCustomerOrders.Add(tmpOrder);
                                            db.SaveChanges();

                                            rowCnt++;
                                        }
                                    }
                                    if (rowCnt > 0)
                                    {
                                        //Upsert Customer Order Data from Staginig table to Main Table
                                        res = UpsertOrderData();
                                        if (res.status)
                                        {
                                            res.status  = true;
                                            res.message = "File Upload Completed Successfully...!!!";
                                            res.data    = GetAllCustomerOrders();
                                        }
                                        return(res);
                                    }
                                    else
                                    {
                                        res.message = "No/Invalid Data in File...!!!";
                                        return(res);
                                    }
                                }
                        }
                    }
                }
                return(res);
            }
            catch (Exception ex)
            {
                if (ex.Source == "CsvHelper")
                {
                    res.message = "Invalid File Data...!!!";
                }
                else
                {
                    res.message = ex.Message;
                }
                res.data = ex.InnerException;
                return(res);
            }
        }
コード例 #18
0
        public IEnumerable <ReportData> GetReport()
        {
            List <ReportData> Reports = new List <ReportData>();

            try
            {
                CustomerDBEntities DB       = new CustomerDBEntities();
                List <Invoice>     invoices = new List <Invoice>();
                List <Invoice>     invData  = DB.Invoices.ToList();
                {
                    Models.Common.ReportData Report1;
                    int i = 0;
                    foreach (var Inv in invData)
                    {
                        Report1 = new Models.Common.ReportData();
                        var Cust = DB.Customers.FirstOrDefault(x => x.Customer_No == Inv.Customer_No);
                        Report1.DateOfMonthInvoice = new DateTime(Inv.Invoice_Date.Year, Inv.Invoice_Date.Month, 11);
                        Report1.DateOfMonth        = Report1.DateOfMonthInvoice;
                        Report1.MonthYear          = Report1.DateOfMonth.ToString("MMM-yy");

                        if (Cust != null)
                        {
                            Report1.CustomerNo   = Inv.Customer_No;
                            Report1.CustomerName = Cust.Customer_Name;
                        }
                        Report1.NoOfInvoices = 1;
                        Boolean b = false;

                        foreach (var a in Reports)
                        {
                            if (a.DateOfMonthInvoice == Report1.DateOfMonthInvoice && a.CustomerNo == Report1.CustomerNo)
                            {
                                a.Sales        = Inv.Invoice_Amount + a.Sales;
                                a.NoOfInvoices = a.NoOfInvoices + 1;
                                b = true;
                            }
                        }
                        if (b == false)
                        {
                            Report1.Sales = Inv.Invoice_Amount;
                            i++;
                            Report1.No = i;
                            Reports.Add(Report1);
                        }
                    }
                    List <Payment> Payments = new List <Payment>();
                    List <Payment> PayData  = DB.Payments.ToList();

                    foreach (var PayInv in PayData)
                    {
                        Report1 = new Models.Common.ReportData();
                        var inv = DB.Invoices.FirstOrDefault(x => x.Invoice_No == PayInv.Invoice_No);

                        var Cust = DB.Customers.FirstOrDefault(x => x.Customer_No == inv.Customer_No);
                        if (PayInv != null)
                        {
                            Report1.DateOfMonthPay = new DateTime(PayInv.Payment_Date.Year, PayInv.Payment_Date.Month, 11);
                            Report1.DateOfMonth    = Report1.DateOfMonthPay;
                            Report1.MonthYear      = Report1.DateOfMonth.ToString("MMM-yy");
                        }

                        if (Cust != null)
                        {
                            Report1.CustomerNo   = Cust.Customer_No;
                            Report1.CustomerName = Cust.Customer_Name;
                        }
                        Boolean b = false;

                        foreach (var a in Reports)
                        {
                            if ((a.DateOfMonth == Report1.DateOfMonthPay || a.DateOfMonthPay == Report1.DateOfMonthPay) && a.CustomerNo == Report1.CustomerNo)
                            {
                                if (PayInv != null)
                                {
                                    a.PaymentCollection = PayInv.Payment_Amount + a.PaymentCollection;
                                }
                                b = true;
                            }
                        }
                        if (b == false)
                        {
                            if (PayInv != null)
                            {
                                Report1.PaymentCollection = PayInv.Payment_Amount;
                            }
                            Reports.Add(Report1);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Reports = Reports.OrderBy(e => e.DateOfMonth).ThenBy(e => e.CustomerName).ToList();
            return(Reports);
        }