/// <summary> /// /// </summary> /// <returns></returns> static public GlobalVars.ResultGeneric UpdateCustomer(GlobalVars.Customer customer) { GlobalVars.ResultGeneric result = new GlobalVars.ResultGeneric() { ReturnCode = 0, Message = "", RecordsCount = 0, HttpStatusCode = "" }; try { logger.Trace("Entering into UpdateCustomer Method ..."); using (ScanningDBContext DB = new ScanningDBContext()) { // Customer Names must be unique in the Database. The Name could be change but it must be unique Customers Matching_Result = DB.Customers.FirstOrDefault(x => x.CustomerName == customer.CustomerName); if (Matching_Result == null) { // Means --> this is a new name Matching_Result = DB.Customers.FirstOrDefault(x => x.CustomerId == customer.CustomerID); if (Matching_Result != null) { Matching_Result.CustomerName = customer.CustomerName; DB.SaveChanges(); result.Message = "UpdateCustomer transaction completed successfully. One Record Updated."; } else { // Means --> cannot update a Customer that does not exist result.ReturnCode = -1; result.Message = "Customer " + customer.CustomerName + " does not exist. UpdateCustomer transaction ignore."; } } else { // Means --> the name already exist result.ReturnCode = -1; result.Message = "Customer " + customer.CustomerName + " already exist. UpdateCustomer transaction ignore."; } } logger.Debug(result.Message); } catch (Exception e) { logger.Error("Error:" + e.Message + "\n" + "Exception: " + e.InnerException); result.ReturnCode = -2; result.Message = e.Message; var baseException = e.GetBaseException(); result.Exception = baseException.ToString(); } logger.Trace("Leaving UpdateCustomer Method ..."); return(result); }
/// <summary> /// Get Customer by Name /// </summary> /// <returns></returns> static public GlobalVars.ResultCustomers GetCustomerByName(string customerName) { List <GlobalVars.Customer> customers = new List <GlobalVars.Customer>(); GlobalVars.ResultCustomers resultCustomers = new GlobalVars.ResultCustomers() { ReturnCode = 0, Message = "", ReturnValue = customers, RecordsCount = 0, HttpStatusCode = "" }; try { logger.Trace("Entering into GetCustomerByName Method ..."); using (ScanningDBContext DB = new ScanningDBContext()) { var results = DB.Customers.Where(x => x.CustomerName == customerName); resultCustomers.RecordsCount = results.Count(); if (results.Count() >= 1) { foreach (var x in results) { GlobalVars.Customer customer = new GlobalVars.Customer() { CustomerID = x.CustomerId, CustomerName = (x.CustomerName ?? "").Trim() }; customers.Add(customer); } } } resultCustomers.ReturnValue = customers; resultCustomers.Message = "GetCustomerByName transaction completed successfully. Number of records found: " + resultCustomers.RecordsCount; logger.Debug(resultCustomers.Message); } catch (Exception e) { logger.Error("Error:" + e.Message + "\n" + "Exception: " + e.InnerException); resultCustomers.ReturnCode = -2; resultCustomers.Message = e.Message; var baseException = e.GetBaseException(); resultCustomers.Exception = baseException.ToString(); //return resultHosts; } logger.Trace("Leaving GetCustomerByName Method ..."); return(resultCustomers); }
/// <summary> /// /// </summary> /// <returns></returns> static public GlobalVars.ResultGeneric NewCustomer(GlobalVars.Customer customer) { GlobalVars.ResultGeneric result = new GlobalVars.ResultGeneric() { ReturnCode = 0, Message = "", RecordsCount = 0, HttpStatusCode = "" }; try { logger.Trace("Entering into NewCustomer Method ..."); // Check if Customer Exist result = ExistCustomerName(customer.CustomerName); if (result.RecordsCount == 0) { // Create new Customer using (ScanningDBContext DB = new ScanningDBContext()) { Customers New_Record = new Customers(); New_Record.CustomerName = customer.CustomerName; DB.Customers.Add(New_Record); DB.SaveChanges(); } result.Message = "NewCustomer transaction completed successfully. One Record added."; } else { result.ReturnCode = -1; result.Message = "Customer " + customer.CustomerName + " already exist. NewCustomer transaction ignore."; } logger.Debug(result.Message); } catch (Exception e) { logger.Error("Error:" + e.Message + "\n" + "Exception: " + e.InnerException); result.ReturnCode = -2; result.Message = e.Message; var baseException = e.GetBaseException(); result.Exception = baseException.ToString(); } logger.Trace("Leaving NewCustomer Method ..."); return(result); }
public ActionResult UpdateCustomer([FromBody] string customerJS) { var watch = System.Diagnostics.Stopwatch.StartNew(); GlobalVars.ResultGeneric result = new GlobalVars.ResultGeneric() { Message = "", ReturnCode = 0, //ReturnValue = "" }; try { if (customerJS == null) { Response.StatusCode = (int)HttpStatusCode.BadRequest; result.ReturnCode = -1; result.Message = "Missing argument customerJS"; logger.Warn("UpdateCustomer API Request ends with an Error."); logger.Warn(result.Message); } else { GlobalVars.Customer customer = JsonConvert.DeserializeObject <GlobalVars.Customer>(customerJS); logger.Info("UpdateCustomer API Request."); if (!string.IsNullOrEmpty(customer.CustomerName)) { logger.Debug("Parameter:" + JsonConvert.SerializeObject(customer, Formatting.Indented)); result = SQLFunctionsCustomers.UpdateCustomer(customer); switch (result.ReturnCode) { case 0: logger.Info("UpdateCustomer API Request was executed Successfully."); Response.StatusCode = (int)HttpStatusCode.OK; break; case -1: logger.Info("UpdateCustomer API Request ends with a warning."); Response.StatusCode = (int)HttpStatusCode.OK; break; case -2: Response.StatusCode = (int)HttpStatusCode.InternalServerError; logger.Fatal("UpdateCustomer API Request ends with a Fatal Error."); logger.Debug("Returned value:" + JsonConvert.SerializeObject(result, Formatting.Indented)); Response.StatusCode = (int)HttpStatusCode.InternalServerError; break; } } else { Response.StatusCode = (int)HttpStatusCode.BadRequest; result.ReturnCode = -1; result.Message = "CustomerName value is not valid."; logger.Warn("UpdateCustomer API Request ends with an Error."); logger.Warn(result.Message); } } } catch (Exception e) { logger.Fatal("UpdateCustomer API Request ends with a Fatal Error."); result.ReturnCode = -2; result.Message = e.Message; var baseException = e.GetBaseException(); result.Exception = baseException.ToString(); logger.Fatal("Returned value:" + JsonConvert.SerializeObject(result, Formatting.Indented)); Response.StatusCode = (int)HttpStatusCode.InternalServerError; } Response.ContentType = "application/json"; watch.Stop(); var elapsedMs = watch.ElapsedMilliseconds; elapsedMs = elapsedMs / 1000; result.ElapsedTime = elapsedMs.ToString(); result.HttpStatusCode = Response.StatusCode.ToString(); var messaje = JsonConvert.SerializeObject(result, Formatting.Indented); logger.Info("Leaving UpdateCustomer API"); //return Json(messaje); return(Content(messaje)); }